#ifndef TEMPSENSORBASE_H
#define TEMPSENSORBASE_H

#include <QString>
#include "TableWidgetForm.h"

struct TempIOConnectStr
{
    QString name;
    QString type;

    // 获取结构体成员名的字符串
    QString toFieldNames() const {
        return QString("name,type");
    }

    // 获取结构体成员名的类型
    QStringList toFieldTypes() const {
        QStringList _list;
        _list << typeid(name).name();
        _list << typeid(type).name();
        return _list;
    }
};

struct TempSensor
{
    int id;
    QString name;
    int alarm;
    int limit;
    int board_id;
    int phyid;
    int port;

    // 获取结构体成员名的字符串
    QString toFieldNames() const {
        return QString("name,alarm,limit,board_id,phyid,port");
    }

    // 获取结构体成员名的类型
    QStringList toFieldTypes() const {
        QStringList _list;
        _list << typeid(name).name();
        _list << typeid(alarm).name();
        _list << typeid(limit).name();
        _list << typeid(board_id).name();
        _list << typeid(phyid).name();
        _list << typeid(port).name();
        return _list;
    }
};

class TempSensorBase
{
public:
    TempSensorBase();

    //解析
    static void Analysis(const QString& path, TempIOConnectStr& _TempIOConnectStr, QList<QList<TempSensor>>& _TempSensorList);

    //保存
    static bool SaveXml(const QString& path, const TempIOConnectStr& _TempIOConnectStr, const QList<QList<TempSensor>>& _TempSensorList);
};

#endif // TEMPSENSORBASE_H
